﻿package net.wangit.jdbc;

import java.io.Serializable;

/**
 * Table的行对象，包含了字段的值。
 * 
 * @author watson Feb 12, 2010
 */
public interface ColumnRow extends Serializable {
	// 取得字段的值。
	public abstract String get(String name);

	// 取得字段的值(double类型)。
	public abstract double getDouble(String name, double defaultValue);

	// 取得字段的值(float类型)。
	public abstract float getFloat(String name, float defaultValue);

	// 取得字段的值(int类型)。
	public abstract int getInt(String name, int defaultValue);

	// 取得字段的值(long类型)。
	public abstract long getLong(String name, long defaultValue);

	// 取得主键字段的值。
	public abstract String getPrimaryKey(String name);

	// 判断是否是删除行。
	public abstract boolean isDeleteRow();

	// 判断是否是新增行。
	public abstract boolean isInsertRow();

	// 判断是否是修改行。
	public abstract boolean isUpdateRow();

	// 打印行数据，输出到控制台。
	public abstract void print();

	// 设置字段的值。
	public abstract void set(String name, double value);

	// 设置字段的值。
	public abstract void set(String name, float value);

	// 设置字段的值。
	public abstract void set(String name, int value);

	// 设置字段的值。
	public abstract void set(String name, long value);

	// 设置字段的值。
	public abstract void set(String name, String value);

	// 设置主键字段的值。
	public abstract void setPrimaryKey(String name, String value);
}
